package com.common.service.judicialcheck;

import com.common.entity.judicialcheck.JudicialTargetTypeSumCheckEntity;
import com.common.query.ConditionService;
import com.common.requestvo.judicialcheck.*;
import com.common.requestvo.target.TargetItemAssignReqVo;
import com.common.vo.judicialcheck.JudicialCheckVo;
import com.common.vo.judicialcheck.JudicialDepartmentSumScoreCheckVo;
import com.common.vo.judicialcheck.JudicialTargetTypeSumCheckVo;
import com.querydsl.core.Tuple;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;

/**
 * 司法业绩考核  Service
 *
 * @author johnny
 * @create 2021-05-14 6:01 下午
 **/
public interface JudicialTargetTypeSumCheckService extends ConditionService<Tuple> {


    /**
     * 分页查询接口
     *
     * @param judicialTargetTypeSumCheckReqVo
     * @param pageable
     * @return
     */
    Page<JudicialTargetTypeSumCheckVo> listByCondition(JudicialTargetTypeSumCheckReqVo judicialTargetTypeSumCheckReqVo, Pageable pageable);

    void add(JudicialTargetTypeSumCheckReqVo judicialTargetTypeSumCheckReqVo);

    void edit(JudicialTargetTypeSumCheckReqVo judicialTargetTypeSumCheckReqVo);

    void delete(Long id);

    List<JudicialTargetTypeSumCheckVo> scoreChartRanking(JudicialTargetTypeSumCheckRankReqVo judicialTargetTypeSumCheckRankReqVo);

    List<JudicialDepartmentSumScoreCheckVo> scoreChartDepartmentRanking(JudicialTargetTypeSumCheckRankReqVo judicialTargetTypeSumCheckRankReqVo);

    void initJudicialTargetTypeSumCheck(TargetItemAssignReqVo targetItemAssignReqVo);

    JudicialTargetTypeSumCheckVo findSumCheckDetail(JudicialTargetTypeSumCheckJobExplainReqVo judicialTargetTypeSumCheckJobExplainReqVo);
}